/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.fiap.percistencia;

import br.com.fiap.model.DadosSAC;
import br.com.fiap.model.Entidade;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import javax.persistence.*;
import javax.servlet.ServletException;

/**
 *
 * @author rm64596
 */
public class ReclamacoesDAO {
    
    
   private EntityManagerFactory factory;
   private EntityManager motor;
   private EntityTransaction transação;
   
   

   
   public ReclamacoesDAO(){
        
        factory = Persistence.createEntityManagerFactory("sistemaWeb");
        
    }
   
   
   public void persistirReclamacao(Entidade reclamacao)
    {
        motor = factory.createEntityManager();
        transação = motor.getTransaction();
        
        transação.begin();

	motor.persist(reclamacao);

	transação.commit();
       
    }
   
   private SimpleDateFormat dataFormat = new SimpleDateFormat("dd/MM/yyyy");
   public List<Entidade> pesquisarReclamacoes(String dataInicial, String dataFinal) 
   {
       Date dtInit = null;
       Date dtFinal = null;
       try{
          dtInit = dataFormat.parse(dataInicial);
          dtFinal = dataFormat.parse(dataFinal);
       }catch(Exception e){
           System.out.println("Data no formato errado !");
       }
       
       motor = factory.createEntityManager();
       transação = motor.getTransaction();
        
        
        
        transação.begin();
       
        
	Query query = motor.createQuery("select p from Entidade p where  p.dataAtual > :dt2 and p.dataAtual < :dt1  ");
        
        
        query.setParameter("dt2", dtInit);
        query.setParameter("dt1", dtFinal);
        
        List<Entidade> listaReclamacoes = query.getResultList();
        
        
        
        transação.commit();
        
	return  listaReclamacoes;
	} 
    
    
}
